package com.example.xunua_zhinengjiaotong;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.xunua_zhinengjiaotong.utils.MyApp;
import com.example.xunua_zhinengjiaotong.utils.setCustomDensity;

public class IpLoginActivity extends AppCompatActivity implements View.OnClickListener {
    EditText et_ip;
    Button btn;
    SharedPreferences sharedPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setCustomDensity.setCustomDensity(IpLoginActivity.this,1080,1920,5.0);
        setContentView(R.layout.activity_ip_login);
        setFinishOnTouchOutside(false);//点击窗口外部 窗口不消失
        et_ip=findViewById(R.id.login_et_ip);
        btn=findViewById(R.id.login_btn);
        btn.setOnClickListener(this);
        sharedPreferences=getSharedPreferences("loginip",MODE_PRIVATE);
        String ip = sharedPreferences.getString("ip", null);
        if (ip != null) {
            et_ip.setText(ip);
        }
    }

    @Override
    public void onClick(View v) {
        //判断输入的ip地址是否是ip格式
        String s=et_ip.getText().toString().trim();
        if (s.isEmpty()) {
            Toast.makeText(this, "请不要为空！", Toast.LENGTH_SHORT).show();
            return ;
        }
        boolean ip = isIp(s);
        if (ip) {
            finish();
            MyApp myApp= (MyApp) getApplication();
            myApp.setIp(s);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putString("ip",s);
            edit.commit();
            startActivity(new Intent(IpLoginActivity.this,MainActivity.class));
        }else {
            Toast.makeText(this, "请输入正确的IP地址", Toast.LENGTH_SHORT).show();
        }
    }

    private boolean isIp(String ip) {
        /**
         * 正则表达式  /d表示一个数字字符（0-9）
         *              /d{1，3}表示1-3位任意数字（0-999）
         *              matches（）匹配正则表达式
         *              ip=hello  ------>  \d{0,3} false
         *              ip=777  ----->   \d{0,3} true
         */
        boolean matches = ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");// 此正则表达式  \d 匹配数字
        // 在xml设置EditextView    android:digits="0123456789."即可
        String[] split = ip.split("\\.");
        if (matches) {
            if (Integer.parseInt(split[0])<256
                    && Integer.parseInt(split[1])<256
                    && Integer.parseInt(split[2])<256
                    && Integer.parseInt(split[3])<256
                    &&split.length==4){
                matches=true;
            }else {
                matches=false;
            }
        }
        return matches;
    }

    @Override
    protected void onStop() {
        super.onStop();
        WelcomeActivity.welcomeActivity.finish();
    }
    @Override
    public void onBackPressed() {
        // super.onBackPressed();
    }
}
